
public class Card implements Comparable<Card> {
        public int rank; // 数值
        public String suit; // 花色

        public Card(int rank, String suit) {
            this.rank = rank;
            this.suit = suit;
        }

        // 根据数值比较，不管花色
        // 这里我们认为 null 是最小的
        @Override
        public int compareTo(Card o) {
            if (o == null) {
                return 1;
            }
            return rank - o.rank;
        }

        public static void main(String[] args) {
            Card p = new Card(1, "♠");
            Card q = new Card(2, "♠");
            Card o = new Card(1, "♠");
            System.out.println(p.compareTo(o)); // == 0，表示牌相等
            System.out.println(p.compareTo(q)); // < 0，表示 p 比较小
            System.out.println(q.compareTo(p)); // > 0，表示 q 比较大
        }

    }

